iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 14
1
DevOps

DevOps with Proxmox系列 第 14

Day 14 - Terraform & Ansible 混合簡介

  • 分享至 

  • xImage
  •  

我們接下來要來介紹 Terraform 和 Ansible 的混合技

為什麼這兩個東西要一起使用呢? 試想個簡單的情景

假如要部署服務,部署服務需要有機器,而如果你需要開機器,我們會用到 Terraform
而若我們部署服務能自動化,我們可以利用 Ansible 來把服務自動部署到新機器上
假如我們可以找到方法讓 Terraform 和 Ansible 可以一起使用
這樣我們可以一口氣搞定開機器到部署服務,不用分好幾個步驟
聽起來好像很輕鬆,對吧?

而其實 Hashicorp 自己也介紹過 Terraform 和 Ansible 的混合用法
可以看這個鏈接與底下的影片

Yes

Terraform 和 Ansible 可以互相 trigger

可以利用 Terraform 呼叫 Ansible,讓 Ansible 去建立環境...

resource “aws_instance” “web” {
   # ...
    provisioner “local-exec” {
      command = “ansible-playbook -u ubuntu -i ‘${aws_instance.web.public_ dns},’ main.yml”
   }
}

你也可以利用 Ansible 呼叫 Terraform,讓你建立你要的環境...

---
- name: main
  hosts: all 
  gather_facts: false
  connection: local
  tasks:
    - name: plan
      terraform:
        project_path: ‘terraform/’
        plan_file: “{{playbook_dir}}/tfplan”
        lock: true
        state: planned
    - name: apply
      terraform:
        project_path: ‘terraform/’ 
        lock: true
        state: present
    - name: destroy
      terraform:
        project_path: ‘terraform/’
        lock: true
        state: absent

不過...雖然說可以互相 trigger 啦,但我怎麽想都想不到利用 Ansible 去呼叫 Terraform 的 Senario
如果有人是這樣做的話歡迎介紹看看你的情景

明天會實際看看如何利用 Terraform 呼叫 Ansible 以快速部署環境


上一篇
Day 13 - Ansible Playbook
下一篇
Day 15 - Terraform & Ansible 混合應用
系列文
DevOps with Proxmox30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言